Skip to content

unity-cli@v4.0.0 - #86

Merged
StephenHodgson merged 60 commits into
mainfrom
dev/v4.0.0
Oct 30, 2026
Merged

StephenHodgson merged 60 commits into
mainfrom
dev/v4.0.0

Conversation

@StephenHodgson

@StephenHodgson StephenHodgson commented Oct 24, 2026 •

Copy link
Copy Markdown
Member
  • wrap Unity's official cli (unity); install it on first use, latest by default (--unity-cli-version to pin)
  • install editors with unity install; 5.x from Unity's archive, 4.x with the legacy installer
  • install modules from the project's build profiles (closes Install modules based on BuildProfiles in project #68)
  • license from a cached license file, then unity license, then the licensing client
  • skip license returns on github-hosted macos/linux runners (return-license --when)
  • run goes through unity run for 2019.1+ projects
  • remove hub commands, install-all-tools and sign-package
  • deprecate uninstall-unity, list-project-templates, create-project and open-project; they forward to unity
  • verify installer downloads and mask secrets in logs
  • only stop processes the job started, so shared self-hosted runners are safe
  • annotate license and network failures so ci can rerun them
  • ci activates one license per os per run instead of caching it in secrets
  • test unity 6 and 7 on prs, 4.7.2 through 2022.3 monthly
  • bump deps

@StephenHodgson StephenHodgson self-assigned this Oct 24, 2026
Comment thread src/license-client.ts Fixed
Comment thread src/unity-cli.ts Fixed
Comment thread src/unity-installer.ts Fixed
Comment thread src/github-actions-ci.ts Fixed
Comment thread src/unity-installer.ts Fixed
Comment thread src/unity-installer.ts Fixed
Comment thread src/unity-installer.ts Fixed
Comment thread src/unity-installer.ts Fixed
Comment thread src/unity-installer.ts Fixed
Comment thread src/unity-installer.ts Fixed
Comment thread src/unity-installer.ts Fixed
Comment thread src/unity-installer.ts Fixed
@StephenHodgson
StephenHodgson marked this pull request as ready for review October 25, 2026 03:35
Copilot AI balanced review requested due to automatic review settings October 25, 2026 03:35

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🟡 Changes recommended

Serial disclosure and unresolved licensing, editor selection, module installation, and launch regressions block approval.

6 open issues
What changed in this PR

Migrates unity-cli v4 from Unity Hub management to a companion for Unity’s official CLI, retaining legacy editor support, licensing fallbacks, Android SDK setup, and annotated Editor logs.

Changes:

  • Adds official CLI installation, caching, editor installation, and launch integration.
  • Reworks licensing and removes overlapping Hub, project, and package commands.
  • Updates migration documentation, tests, dependencies, and CI workflows.
File Description
tests/​upm-cli.test.ts Removes tests for the retired UPM wrapper.
tests/​unity-installer-release-api-filter.test.ts Moves release-filter tests to UnityInstaller.
tests/​unity-hub.test.ts Removes Hub integration tests.
tests/​unity-editor.test.ts Uses local fixtures and tests launch arguments.
tests/​unity-cli.test.ts Adds CLI helpers, licensing fallback, and redaction tests.
tests/​mocks/​electron-asar.js Removes the obsolete ASAR mock.
tests/​linux-hub-path.test.ts Removes Hub path tests.
tests/​hub-cdn-urls.test.ts Removes Hub CDN checks.
src/​upm-cli.ts Removes the UPM wrapper.
src/​unity-installer.ts Adds official CLI and legacy archive installation paths.
src/​unity-hub.ts Removes Hub management.
src/​unity-editor.ts Integrates official CLI launches with direct-launch fallbacks.
src/​unity-cli.ts Adds CLI discovery, downloads, caching, and command execution.
src/​logging.ts Adds PATH export support.
src/​logger-provider.ts Extends the logger interface for PATH updates.
src/​license-client.ts Adds CLI-first licensing, fallback discovery, and redaction.
src/​index.ts Exports the new CLI and installer APIs.
src/​github-actions-ci.ts Adds PATH exports and environment newline guards.
src/​cli.ts Replaces retired commands with the v4 command surface.
src/​android-sdk.ts Retries Android SDK package installation.
README.md Documents v4 usage, migration, and maintenance scope.
package.json Sets version 4.0.0 and revises dependencies.
package-lock.json Synchronizes dependency changes.
jest.config.mjs Removes ASAR mock mapping.
docs/​unity-version-support.md Replaces Hub-specific wording.
.github/​workflows/​unity-release-discovery.yml Updates checkout and Node setup actions.
.github/​workflows/​unity-build.yml Migrates build steps to v4 and official CLI commands.
.github/​workflows/​publish.yml Updates checkout and Node setup actions.
.github/​workflows/​integration-tests.yml Updates setup and timeline actions.

Review effort: Balanced

Comment thread src/license-client.ts Resolved
Comment thread src/unity-cli.ts Resolved
Comment thread src/unity-cli.ts Resolved
Comment thread src/unity-editor.ts Resolved
Comment thread src/unity-installer.ts Resolved
Comment thread src/unity-installer.ts Resolved
Comment thread src/license-client.ts Fixed
Comment thread src/cli.ts Fixed
Comment thread src/unity-project.ts Fixed
@StephenHodgson
StephenHodgson merged commit 7e1f6a6 into main Oct 30, 2026
78 checks passed
@StephenHodgson
StephenHodgson deleted the dev/v4.0.0 branch October 30, 2026 09:48
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Incorporate the "official" unity-cli from hub Install modules based on BuildProfiles in project Get the list of downloadable templates

3 participants